//
// Created by Martin on 2021/9/30.
//

#ifndef DESIGNPATTERN_CPP_CONCRETECOMMAND_H
#define DESIGNPATTERN_CPP_CONCRETECOMMAND_H

#include "Command.h"
#include "Receiver.h"

/**
 * 具体的命令类
 * 将一个接收者对象绑定于一个动作
 * 调用接收者相应的操作，以实现execute
 */
class ConcreteCommand : public Command {
public:
    explicit ConcreteCommand(Receiver *receiver);
    void execute() override;

private:
    Receiver *receiver;
};


#endif //DESIGNPATTERN_CPP_CONCRETECOMMAND_H
